///////////////////////////////////////////////////////////////////
//                            _ooOoo_                            //
//                           o8888888o                           //
//                           88" . "88                           //
//                           (| -_- |)                           //
//                            O\ = /O                            //
//                        ____/`---'\____                        //
//                      .   ' \\| |// `.                         //
//                       / \\||| : |||// \                       //
//                     / _||||| -:- |||||- \                     //
//                       | | \\\ - /// | |                       //
//                     | \_| ''\---/'' | |                       //
//                      \ .-\__ `-` ___/-. /                     //
//                   ___`. .' /--.--\ `. . __                    //
//                ."" '< `.___\_<|>_/___.' >'"".                 //
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |              //
//                 \ \ `-. \_ __\ /__ _/ .-` / /                 //
//         ======`-.____`-.___\_____/___.-`____.-'======         //
//                            `=---='                            //
//                                                               //
//         .............................................         //
//                  佛祖保佑             永无BUG                  //
//                  需求不变             永不修改                 //
///////////////////////////////////////////////////////////////////
package com.longyue.ms.common.bean;

import com.github.pagehelper.PageInfo;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author: lisp
 * @description: 分页数据对象
 * @date: 2018-01-22
 * @Version: 1.0
 **/
@Data
public class Pagination<T> implements Serializable {
    /**
     * 总的页码
     */
    private int totalPage;
    /**
     * 请求页码
     */
    private int pageNum;
    /**
     * 每页记录条数
     */
    private int pageSize;
    /**
     * 总的记录数
     */
    private long total;
    /**
     * 每页的数据集合
     */
    private List<T> rows;
    /**
     * 排序列
     */
    private String sortColum;
    /**
     * 排序类型 asc,desc
     */
    private String sortType;


    public Pagination() {

    }

    public Pagination(PageInfo pageInfo) {
        this.rows = pageInfo.getList();
        this.total = pageInfo.getTotal();
        this.totalPage = pageInfo.getPages();
        this.pageNum = pageInfo.getPageNum();
        this.pageSize = pageInfo.getPageSize();
    }

    public Pagination(List list) {
        new Pagination(new PageInfo(list));
    }
}
